Ubuntu上搭建SVN以及创建仓库目录 |
您所在的位置:网站首页 › linux svn创建项目 › Ubuntu上搭建SVN以及创建仓库目录 |
1、卸载SVN 查看自己是否安装了svn svn 上图显示已安装,可用以下命令进行卸载 sudo apt-get remove --purge subversion (–purge 选项表示彻底删除改软件和相关文件) 2、安装SVN 安装前先更新一下 sudo apt-get update 接下来安装 sudo apt-get install subversion 3、创建SVN版本库 创建home下的svn文件夹 sudo mkdir /home/svn 创建svn下的repository文件夹 sudo mkdir /home/svn/repository 更改repository的权限(第一次搭建没有赋予权限,客户端访问服务器被拒绝) sudo chmod -R 777 /home/svn/repository 创建版本库(可创建多个自定义的库,操作一样,添加新的库不需要重启SVN) sudo svnadmin create /home/svn/repository 完成后会在repository文件夹下生成以下文件 然后对db进行权限设置 sudo chmod -R 777 db 设置访问权限:需要对conf文件夹下的文件进行修改 ①修改配置文件conf/svnserve.conf sudo vim /home/svn/repository/conf/svnserve.conf
#匿名用户可读 anon-access = read(可改成none,即不可读) #权限用户可写 auth-access = write #密码文件为passwd password-db = passwd #权限文件为authz authz-db = authz (去掉前面的#,并且顶格,不然可能会报错) ②添加访问用户conf/passwd sudo vim /home/svn/repository/conf/passwd ③设置用户权限conf/authz sudo vim /home/svn/repository/conf/authz
1. admin = smwang //用户smwang属于admin权限组 2. @admin = rw //admin权限组的权限是读和写 3. * = rw 所有的组都具有读权限和写权限 4、测试SVN服务器 ①启动服务器 svnserve -d-r /home/svn (-d:表示在后台运行 ,-r:指定服务器的根目录) 用如下命令查看svnserve是否已经运行 ps aux | grep svnserve (表示服务器已经在后台运行了,这个时候我没就可通过svn://服务器ip/repository从svn客户端访问服务器了) ②停止服务器 如果需要关闭服务器,可以用下面的命令 killall svnserve 5、常见错误 ①svn出现Authorizationfailed 和 connect 服务器失败 进入svn的conf目录下 修改svnserve.conf [general] anon-access = read auth-access = write password-db = passwd authz-db = authz 修改passwd文件 添加用户名和密码 修改authz文件 将新增的用户和密码添加 格式(username =password) [gourp] 添加组成员 格式 development=d1,d2,d3 [/] 所有文件权限 @development=rw(r读w写) ②错误:svn: Can’t connect ‘svn://.... Permission denied 在Linux环境下安装好SVN服务器后,在Linux环境下可以正常地检出、提交,在Windows PC上把已有的Repository检出后,结果在提交的时候出现以下 出现这种问题的原因在于搭建SVN服务器,包括创建Repository目录/home/svn目录下的一切子目录和文件都是在root用户下进行的,所以在root用户下检出、提交都没有问题。可在Windows PC上从客户端访问就有问题了,因为是只有拥有管理器权限的人才能对Repository目录进行完全控制,而在Windows从客户端访问的话,因为是Users用户组的,对Repository没有修改权限,所以不能提交。 解决办法: 在服务器上把Users对Repository的完全控制权限加上就可以了,执行如下命令对/home/svn目录下的所有文件和子目录添加Users的读写权限 执行下面的命令: chmod -R o+rw/home/svn #这里的路径是你项目库的根目录 现在可以正常地从Windows客户端下面进行检出和提交了。 提示: 当用非root账号操作时,要用sudo 命令 更改conf下的authz、passwd、svnserve.conf内容时可以借助xshell和xftp。 更改权限: sudo chmod-777 /home/svn/root/conf/authz 6、创建仓库自定义目录 首先在服务器端创建一个SVN库,这时是只有一个顶级文件夹的空仓库(比如:/home/svn/root),然后: 1、从客户端checkout这个空的SVN库; 2、在客户端checkout出来的这个空文件夹中,按自己的需要新建各级子文件夹,以形成所需的目录结构; 3、对checkout出来的这个文件夹执行add操作,将新建的各级子文件夹纳入SVN控制; 4、对checkout出来的这个文件夹执行commit操作,将刚add进来的各文件夹提交到SVN服务器端。 基本操作就如上所述了,顺便说一下SVN官方推荐的文件夹结构: 根目录下分成trunk、branches、tags三个子文件夹,其中trunk用于存放开发主干,branches用于存放各种分支,tags用于存放各种标记。 其他 1、点击右键TortoiseSVN Repo-browser可以查看SVN浏览器 2、在URL中输入svn://ip/dir ,查看SVN仓库的目录结构。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |